using System;
using System.Text;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using WCSFContrib.ECommerceCatalog.BusinessEntities;
using WCSFContrib.ECommerceCatalog.BusinessEntities.Enums;

namespace WCSFContrib.ECommerceCatalog.User.Interfaces.Services
{
    public interface IOrdersService
    {
        ICollection<Order> AllOrders { get; }
        Order GetOrderById(int orderId);
        Collection<Order> GetOrdersByUserName(string userName);
        ICollection<Order> GetOrdersByOrderStatus(OrderStatus orderStatus);
        void ChangeOrderStatus(int orderId, OrderStatus newOrderStatus);
        Order Checkout(string userName, ICollection<CartItem> cartItems, DateTime orderDate, Address billingAddress, Address shippingAddress, Payment paymentMethod);
    }
}
